# 输入一颗二叉树的跟节点和一个整数，打印出二叉树中结点值的和为输入整数的所有路径。
# 路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中，数组长度大的数组靠前)

# 返回二维列表，内部每个列表表示找到的路径
def FindPath(root, expectNumber):
    if not root:
        return []
    if root and not root.left and not root.right and root.val == expectNumber:
        return [[root.val]]
    res = []
    left = FindPath(root.left,expectNumber-root.val)
    right = FindPath(root.right,expectNumber-root.val)

    for i in left+right:
        res.append([root.val]+i)
    return res
# 题目说要求数组长度大的在前面，所以应该排序一下
def sort_tree(my_list):
    for i in range(len(my_list)):
        for j in range(1,len(my_list)):
            if my_list[i]<my_list[j]:
                my_list[j],my_list[i]=my_list[i],my_list[j]

    return my_list
#  sorted(a, key=len, reverse=True)这样也可以
